home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / progs / Netobj / netobj / t2.z / DynaButtonsComp.nfx (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-29  |  9.0 KB  |  557 lines

  1. public class DynaButtonsComp extends ComponentApp {
  2.    int backgroundStyle;
  3.    DAssetManager assMan;
  4.    int upID;
  5.    int downID;
  6.    String Orientation = "";
  7.    String ButtonImage = "";
  8.    String HighliteImage = "";
  9.    String paramButtonImage = "";
  10.    String paramHighliteImage = "";
  11.    int backgroundColor;
  12.    String backgroundImage = "";
  13.    String paramBackgroundImage = "";
  14.    int textJustification;
  15.    int textAlignment;
  16.    int fontColor;
  17.    int highliteFontColor;
  18.    String buttonFont = "";
  19.    boolean italic;
  20.    boolean bold;
  21.    int fontSize;
  22.    ButtonObject buttonList;
  23.    DDrawJava theJavaApplet;
  24.    String compImage = "";
  25.    int imgX;
  26.    int imgY;
  27.    String indent = "    ";
  28.    // $FF: renamed from: cb java.lang.String
  29.    String field_0;
  30.  
  31.    protected void RemoveAssets() {
  32.       if (this.upID != 0) {
  33.          this.assMan.RemoveAsset(this.upID);
  34.          this.assMan.RemoveAsset(this.downID);
  35.       }
  36.  
  37.    }
  38.  
  39.    public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
  40.       if (var3 == 1) {
  41.          if (var1.compareTo("Orientation") == 0) {
  42.             if (this.Orientation.compareTo("Horizontal") == 0) {
  43.                return "0";
  44.             }
  45.  
  46.             return "1";
  47.          }
  48.  
  49.          if (var1.compareTo("Number of Buttons") == 0) {
  50.             return Integer.toString(this.countButtons(this.buttonList));
  51.          }
  52.  
  53.          ButtonObject var6 = this.buttonList.getNext();
  54.  
  55.          for(int var7 = 1; var6 != null; ++var7) {
  56.             if (var1.compareTo("Use Sub-Buttons " + var7) == 0) {
  57.                if (var6.getSubButtonsExist()) {
  58.                   return "0";
  59.                }
  60.  
  61.                return "1";
  62.             }
  63.  
  64.             if (var1.compareTo("Button " + var7) == 0) {
  65.                if (var6.getSubButtonsExist()) {
  66.                   return var6.getText();
  67.                }
  68.  
  69.                return var6.getID();
  70.             }
  71.  
  72.             ButtonObject var8 = var6.getSubButtons();
  73.             if (var1.compareTo("Number Sub-Buttons " + var7) == 0) {
  74.                return Integer.toString(this.countButtons(var8));
  75.             }
  76.  
  77.             var8 = var8.getNext();
  78.  
  79.             for(int var9 = 1; var8 != null; ++var9) {
  80.                if (var1.compareTo(this.indent + "Sub-Button " + var7 + "," + var9) == 0) {
  81.                   return var8.getID();
  82.                }
  83.  
  84.                var8 = var8.getNext();
  85.             }
  86.  
  87.             var6 = var6.getNext();
  88.          }
  89.       } else {
  90.          if (var1.compareTo("Orientation") == 0) {
  91.             if (var2.compareTo("0") == 0) {
  92.                this.Orientation = "Horizontal";
  93.             } else {
  94.                this.Orientation = "Vertical";
  95.             }
  96.  
  97.             this.debug("\r\nrandom:");
  98.             this.checkList(this.buttonList);
  99.             this.modifyImageSize();
  100.          } else if (var1.compareTo("Number of Buttons") == 0) {
  101.             int var12 = Integer.parseInt(var2, 10);
  102.             if (var12 > 20) {
  103.                var12 = 20;
  104.             }
  105.  
  106.             this.modifyNumButtons(var12, this.buttonList);
  107.             this.modifyImageSize();
  108.          } else {
  109.             ButtonObject var11 = this.buttonList.getNext();
  110.  
  111.             for(int var13 = 1; var11 != null; ++var13) {
  112.                if (var1.compareTo("Button " + var13) == 0) {
  113.                   if (var11.getSubButtonsExist()) {
  114.                      var11.setText(var2);
  115.                   } else {
  116.                      var11.setID(var2);
  117.                      var11.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
  118.                   }
  119.                } else if (var1.compareTo("Use Sub-Buttons " + var13) == 0) {
  120.                   if (var2.compareTo("0") == 0) {
  121.                      var11.setSubButtonsExist(true);
  122.                      if (var5 != null) {
  123.                         var5.OnPropertyChanged(-1);
  124.                      }
  125.                   } else {
  126.                      var11.setSubButtonsExist(false);
  127.                      if (var5 != null) {
  128.                         var5.OnPropertyChanged(-1);
  129.                      }
  130.                   }
  131.  
  132.                   this.modifyImageSize();
  133.                } else if (var1.compareTo("Number Sub-Buttons " + var13) == 0) {
  134.                   int var16 = Integer.parseInt(var2, 10);
  135.                   if (var16 > 20) {
  136.                      var16 = 20;
  137.                   }
  138.  
  139.                   this.modifyNumButtons(var16, var11.getSubButtons());
  140.                   this.modifyImageSize();
  141.                } else {
  142.                   ButtonObject var15 = var11.getSubButtons().getNext();
  143.  
  144.                   for(int var17 = 1; var15 != null; ++var17) {
  145.                      if (var1.compareTo(this.indent + "Sub-Button " + var13 + "," + var17) == 0) {
  146.                         var15.setID(var2);
  147.                         var15.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
  148.                      }
  149.  
  150.                      var15 = var15.getNext();
  151.                   }
  152.                }
  153.  
  154.                var11 = var11.getNext();
  155.             }
  156.          }
  157.  
  158.          this.SetPropertyValues();
  159.       }
  160.  
  161.       return "";
  162.    }
  163.  
  164.    protected void RemoveOneAsset(String var1) {
  165.       int var2 = Integer.parseInt(var1, 10);
  166.       if (var2 != 0) {
  167.          this.assMan.RemoveAsset(var2);
  168.       }
  169.  
  170.    }
  171.  
  172.    private void updateSiteLook(int var1) {
  173.       IDLayout var2 = this.theJavaApplet.getLayout();
  174.       IDSite var3 = var2.getSite();
  175.       IDStyle var4 = var3.getCurrentStyle();
  176.       this.backgroundStyle = var2.getBackgroundStyle();
  177.       if (this.backgroundStyle != 0) {
  178.          if (this.backgroundStyle == 1) {
  179.             this.backgroundColor = var2.getBackgroundColor();
  180.          } else if (this.backgroundStyle == 2) {
  181.             int var5 = this.assMan.AddAsset(var2.getBackgroundImage(), "Image\u0000", "");
  182.             this.backgroundImage = this.assMan.GetAssetRelativeLocation(var5, var1, 1);
  183.          }
  184.       } else {
  185.          this.backgroundStyle = var4.getBackgroundStyle();
  186.          if (this.backgroundStyle == 1) {
  187.             this.backgroundColor = var4.getBackgroundColor();
  188.          } else if (this.backgroundStyle == 2) {
  189.             int var10 = this.assMan.AddAsset(var4.getBackgroundImage(), "Image\u0000", "");
  190.             this.backgroundImage = this.assMan.GetAssetRelativeLocation(var10, var1, 1);
  191.          }
  192.       }
  193.  
  194.       this.textJustification = 5;
  195.       this.textAlignment = var4.getButtonTextAlign();
  196.       this.fontColor = var4.getButtonFontColor();
  197.       this.highliteFontColor = var4.getButtonDownFontColor();
  198.       IDFont var11 = var4.getButtonFont();
  199.       this.buttonFont = var11.getName();
  200.       this.fontSize = var11.getPoint();
  201.       this.bold = var11.getBold();
  202.       this.italic = var11.getItalic();
  203.       String var6 = var4.getButtonUpImage();
  204.       if (var6 == null || var6.compareTo("") == 0) {
  205.          var6 = this.field_0 + "transButton.gif";
  206.       }
  207.  
  208.       String var7 = var4.getButtonDownImage();
  209.       if (var7 == null || var7.compareTo("") == 0) {
  210.          var7 = this.field_0 + "transButton.gif";
  211.       }
  212.  
  213.       this.RemoveAssets();
  214.       this.upID = this.assMan.AddAsset(var6, "Image\u0000", "");
  215.       this.downID = this.assMan.AddAsset(var7, "Image\u0000", "");
  216.       this.ButtonImage = this.assMan.GetAssetRelativeLocation(this.upID, var1, 1);
  217.       this.HighliteImage = this.assMan.GetAssetRelativeLocation(this.downID, var1, 1);
  218.       IDSize var8 = var4.getButtonSize();
  219.       if (var8 != null) {
  220.          this.imgX = var8.getWidth();
  221.          this.imgY = var8.getHeight();
  222.       } else {
  223.          this.imgX = 100;
  224.          this.imgY = 35;
  225.       }
  226.  
  227.       this.modifyImageSize();
  228.    }
  229.  
  230.    void checkList(ButtonObject var1) {
  231.    }
  232.  
  233.    protected void CopyOneAsset(String var1) {
  234.       int var2 = Integer.parseInt(var1, 10);
  235.       if (var2 != 0) {
  236.          this.assMan.CopyAsset(var2);
  237.       }
  238.  
  239.    }
  240.  
  241.    public void onCopy() {
  242.       this.debug("in onCopy()");
  243.       this.Orientation = new String(this.Orientation);
  244.       this.ButtonImage = new String(this.ButtonImage);
  245.       this.HighliteImage = new String(this.HighliteImage);
  246.       this.paramButtonImage = new String(this.paramButtonImage);
  247.       this.paramHighliteImage = new String(this.paramHighliteImage);
  248.       this.backgroundImage = new String(this.backgroundImage);
  249.       this.buttonFont = new String(this.buttonFont);
  250.       this.compImage = new String(this.compImage);
  251.       this.indent = new String(this.indent);
  252.       this.assMan.CopyAsset(this.upID);
  253.       this.assMan.CopyAsset(this.downID);
  254.       ButtonObject var1 = new ButtonObject();
  255.       ButtonObject var2 = var1;
  256.       this.debug("<copy> length of original: " + this.countButtons(this.buttonList));
  257.       ButtonObject var3 = this.buttonList.getNext();
  258.       this.debug("about to copy list");
  259.  
  260.       for(int var4 = 1; var3 != null; ++var4) {
  261.          this.debug("in copy list");
  262.          var2.setNext(new ButtonObject());
  263.          var2 = var2.getNext();
  264.          this.CopyOneAsset(var3.getID());
  265.          var2.setID(var3.getID());
  266.          var2.setText(var3.getText());
  267.          var2.setURL(var3.getURL());
  268.          this.debug("copied: " + var4);
  269.          if (var3.getSubButtonsExist()) {
  270.             var2.setSubButtonsExist(true);
  271.             ButtonObject var5 = var3.getSubButtons().getNext();
  272.             ButtonObject var6 = var2.getSubButtons();
  273.  
  274.             for(int var7 = 1; var5 != null; ++var7) {
  275.                var6.setNext(new ButtonObject());
  276.                var6 = var6.getNext();
  277.                this.CopyOneAsset(var5.getID());
  278.                var6.setID(var5.getID());
  279.                var6.setText(var5.getText());
  280.                var6.setURL(var5.getURL());
  281.                var5 = var5.getNext();
  282.             }
  283.          }
  284.  
  285.          var3 = var3.getNext();
  286.       }
  287.  
  288.       this.buttonList = var1;
  289.    }
  290.  
  291.    private void modifyNumButtons(int var1, ButtonObject var2) {
  292.       int var3 = this.countButtons(var2);
  293.       if (var1 < var3) {
  294.          for(int var4 = 0; var4 < var1; ++var4) {
  295.             var2 = var2.getNext();
  296.          }
  297.  
  298.          var2.setNext((ButtonObject)null);
  299.       } else if (var1 > var3) {
  300.          for(int var6 = 0; var6 < var1; ++var6) {
  301.             if (var2.getNext() == null) {
  302.                var2.setNext(new ButtonObject());
  303.             }
  304.  
  305.             var2 = var2.getNext();
  306.          }
  307.       }
  308.  
  309.    }
  310.  
  311.    private int countButtons(ButtonObject var1) {
  312.       int var2 = 0;
  313.  
  314.       for(ButtonObject var3 = var1.getNext(); var3 != null; var3 = var3.getNext()) {
  315.          ++var2;
  316.       }
  317.  
  318.       return var2;
  319.    }
  320.  
  321.    public String onInstall(DAssetManager var1, String var2) {
  322.       this.assMan = var1;
  323.       this.compImage = var2 + "DYNBUTTON.gif";
  324.       return "DynaButtons";
  325.    }
  326.  
  327.    protected void finalize() {
  328.       this.RemoveAssets();
  329.       ButtonObject var1 = this.buttonList.getNext();
  330.  
  331.       for(int var2 = 1; var1 != null; ++var2) {
  332.          this.RemoveOneAsset(var1.getID());
  333.          if (var1.getSubButtonsExist()) {
  334.             ButtonObject var3 = var1.getSubButtons().getNext();
  335.  
  336.             for(int var4 = 1; var3 != null; ++var4) {
  337.                this.RemoveOneAsset(var3.getID());
  338.                var3 = var3.getNext();
  339.             }
  340.          }
  341.  
  342.          var1 = var1.getNext();
  343.       }
  344.  
  345.    }
  346.  
  347.    public void onPublish(DAssetManager var1, int var2) {
  348.       this.updateSiteLook(var2);
  349.       this.setAllUrls(var2);
  350.       if (var2 == 1) {
  351.          this.paramButtonImage = "file:///" + this.ButtonImage;
  352.          this.paramHighliteImage = "file:///" + this.HighliteImage;
  353.          this.paramBackgroundImage = "file:///" + this.backgroundImage;
  354.       } else {
  355.          this.paramButtonImage = this.ButtonImage;
  356.          this.paramHighliteImage = this.HighliteImage;
  357.          this.paramBackgroundImage = this.backgroundImage;
  358.       }
  359.  
  360.       this.SetPropertyValues();
  361.       IDRect var3 = this.theJavaApplet.getObjectRect();
  362.       this.theJavaApplet.AddParam("X Position", "String\u0000", Integer.toString(var3.getLeft()));
  363.       this.theJavaApplet.AddParam("Y Position", "String\u0000", Integer.toString(var3.getTop() + 7));
  364.    }
  365.  
  366.    public void onDrop(IDLayout var1, IDRect var2, int var3) {
  367.       if (var3 == 1) {
  368.          this.theJavaApplet = new DDrawJava();
  369.          this.theJavaApplet.SetStyle(1, 1);
  370.          this.theJavaApplet.setStretch(2);
  371.          this.buttonList = new ButtonObject();
  372.          this.buttonList.setNext(new ButtonObject());
  373.          this.theJavaApplet.SetPositionRect(var2.getLeft(), var2.getTop(), var2.getLeft(), var2.getTop());
  374.          this.Orientation = "Horizontal";
  375.          this.theJavaApplet.setImageFile(this.compImage);
  376.          this.theJavaApplet.setUsePictureText(true);
  377.          this.theJavaApplet.setPictureText("DynaButtons");
  378.          this.field_0 = this.theJavaApplet.getCodeBase();
  379.          this.theJavaApplet.setAppletFileName(this.field_0 + "DynaButtons.class");
  380.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopButton.class");
  381.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopObject.class");
  382.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "DynaButtons.cab");
  383.          var1.AddObject(this.theJavaApplet);
  384.       }
  385.  
  386.       if (var3 != 3 && var3 != 4) {
  387.          this.updateSiteLook(0);
  388.          this.SetPropertyValues();
  389.       }
  390.  
  391.    }
  392.  
  393.    private void modifyImageSize() {
  394.       int var1 = 0;
  395.       int var2 = 0;
  396.       ButtonObject var3 = this.buttonList.getNext();
  397.       if (this.Orientation.compareTo("Horizontal") == 0) {
  398.          for(var1 = this.countButtons(this.buttonList); var3 != null; var3 = var3.getNext()) {
  399.             if (var2 == 0) {
  400.                var2 = 1;
  401.             }
  402.  
  403.             if (var3.getSubButtonsExist()) {
  404.                int var4 = this.countButtons(var3.getSubButtons()) + 1;
  405.                if (var4 > var2) {
  406.                   var2 = var4;
  407.                }
  408.             }
  409.          }
  410.       } else {
  411.          var2 = this.countButtons(this.buttonList);
  412.  
  413.          for(int var7 = 1; var3 != null; ++var7) {
  414.             if (var1 == 0) {
  415.                var1 = 1;
  416.             }
  417.  
  418.             if (var3.getSubButtonsExist()) {
  419.                var1 = 2;
  420.                int var5 = this.countButtons(var3.getSubButtons()) + var7;
  421.                if (var5 > var2) {
  422.                   var2 = var5;
  423.                }
  424.             }
  425.  
  426.             var3 = var3.getNext();
  427.          }
  428.       }
  429.  
  430.       this.theJavaApplet.SetSize(var1 * this.imgX, var2 * this.imgY);
  431.    }
  432.  
  433.    public void onInspect(CStringArray var1, CStringArray var2) {
  434.       var1.Set("Orientation");
  435.       var2.Set("Set(Horizontal|Vertical)");
  436.       var1.Set("Number of Buttons");
  437.       var2.Set("Collection\u0000");
  438.       ButtonObject var3 = this.buttonList.getNext();
  439.  
  440.       for(int var4 = 1; var3 != null; ++var4) {
  441.          if (var3.getSubButtonsExist()) {
  442.             var1.Set("Button " + var4);
  443.             var2.Set("String\u0000");
  444.             var1.Set("Use Sub-Buttons " + var4);
  445.             var2.Set("Set(Yes|No)");
  446.             var1.Set("Number Sub-Buttons " + var4);
  447.             var2.Set("Collection\u0000");
  448.             ButtonObject var5 = var3.getSubButtons().getNext();
  449.  
  450.             for(int var6 = 1; var5 != null; ++var6) {
  451.                var1.Set(this.indent + "Sub-Button " + var4 + "," + var6);
  452.                var2.Set("Link\u0000");
  453.                var5 = var5.getNext();
  454.             }
  455.          } else {
  456.             var1.Set("Button " + var4);
  457.             var2.Set("Link\u0000");
  458.             var1.Set("Use Sub-Buttons " + var4);
  459.             var2.Set("Set(Yes|No)");
  460.          }
  461.  
  462.          var3 = var3.getNext();
  463.       }
  464.  
  465.    }
  466.  
  467.    private void debug(String var1) {
  468.    }
  469.  
  470.    private void setAllUrls(int var1) {
  471.       ButtonObject var2 = this.buttonList.getNext();
  472.  
  473.       for(int var3 = 1; var2 != null; ++var3) {
  474.          String var4 = this.assMan.GetAssetRelativeLocation(Integer.parseInt(var2.getID(), 10), var1, 1);
  475.          var2.setURL(var4);
  476.          if (var2.getSubButtonsExist()) {
  477.             ButtonObject var5 = var2.getSubButtons().getNext();
  478.  
  479.             for(int var6 = 1; var5 != null; ++var6) {
  480.                String var7 = this.assMan.GetAssetRelativeLocation(Integer.parseInt(var5.getID(), 10), var1, 1);
  481.                var5.setURL(var7);
  482.                var5 = var5.getNext();
  483.             }
  484.          }
  485.  
  486.          var2 = var2.getNext();
  487.       }
  488.  
  489.    }
  490.  
  491.    void SetPropertyValues() {
  492.       this.theJavaApplet.ResetParams();
  493.       this.theJavaApplet.setHTMLBetween("ARCHIVE=DynaButtons.zip");
  494.       this.theJavaApplet.AddParam("cabbase", "String\u0000", "DynaButtons.cab");
  495.       this.theJavaApplet.AddParam("Orientation", "String\u0000", this.Orientation);
  496.       this.theJavaApplet.AddParam("ButtonImage", "String\u0000", this.paramButtonImage);
  497.       this.theJavaApplet.AddParam("HighliteImage", "String\u0000", this.paramHighliteImage);
  498.       this.theJavaApplet.AddParam("TextJustification", "String\u0000", Integer.toString(this.textJustification));
  499.       this.theJavaApplet.AddParam("TextAlignment", "String\u0000", Integer.toString(this.textAlignment));
  500.       this.theJavaApplet.AddParam("ButtonFont", "String\u0000", this.buttonFont);
  501.       this.theJavaApplet.AddParam("FontSize", "String\u0000", Integer.toString(this.fontSize));
  502.       this.theJavaApplet.AddParam("FontColor", "String\u0000", Integer.toString(this.fontColor));
  503.       this.theJavaApplet.AddParam("HighliteFontColor", "String\u0000", Integer.toString(this.highliteFontColor));
  504.       if (this.bold) {
  505.          this.theJavaApplet.AddParam("Bold", "String\u0000", "True");
  506.       }
  507.  
  508.       if (this.italic) {
  509.          this.theJavaApplet.AddParam("Italic", "String\u0000", "True");
  510.       }
  511.  
  512.       if (this.backgroundStyle == 1) {
  513.          this.theJavaApplet.AddParam("BackgroundColor", "String\u0000", Integer.toString(this.backgroundColor));
  514.       } else if (this.backgroundStyle == 2) {
  515.          this.theJavaApplet.AddParam("BackgroundImage", "String\u0000", this.paramBackgroundImage);
  516.       }
  517.  
  518.       ButtonObject var1 = this.buttonList.getNext();
  519.  
  520.       for(int var2 = 0; var1 != null; ++var2) {
  521.          if (var1.getSubButtonsExist()) {
  522.             if (var1.getText().compareTo("") == 0) {
  523.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", " ");
  524.             } else {
  525.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", var1.getText());
  526.             }
  527.  
  528.             ButtonObject var6 = var1.getSubButtons().getNext();
  529.  
  530.             for(int var4 = 0; var6 != null; ++var4) {
  531.                if (var6.getText().compareTo("") == 0) {
  532.                   this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String\u0000", " ");
  533.                   this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String\u0000", " ");
  534.                } else {
  535.                   this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String\u0000", var6.getText());
  536.                   this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String\u0000", var6.getURL());
  537.                }
  538.  
  539.                var6 = var6.getNext();
  540.             }
  541.          } else {
  542.             if (var1.getText().compareTo("") == 0) {
  543.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", " ");
  544.             } else {
  545.                String var3 = this.assMan.GetAssetName(Integer.parseInt(var1.getID(), 10));
  546.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", var3);
  547.             }
  548.  
  549.             this.theJavaApplet.AddParam("URL" + var2, "String\u0000", var1.getURL());
  550.          }
  551.  
  552.          var1 = var1.getNext();
  553.       }
  554.  
  555.    }
  556. }
  557.